package com.cmc.cloud.cmclink.doc.vo.sovo.sovslvoyvo;

import com.cmes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.cmes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 订舱航次路径分页 Request VO
 *
 * @author codegen
 */
@Schema(description = "管理后台 - 订舱航次路径分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SoVslvoyPageReqVO extends PageParam {

    @Schema(description = "外键", example = "22179")
    private Long soId;

    @Schema(description = "航程序号 第一程1，第二程2，第三程3 以此类推 中转提单，每一程都要批舱")
    private Integer routeNo;

    @Schema(description = "航线代码")
    private String laneCode;

    @Schema(description = "船名代码")
    private String vesselCode;

    @Schema(description = "出口航次")
    private String voyageEx;

    @Schema(description = "进口航次")
    private String voyageIm;

    @Schema(description = "装货港代码")
    private String polCode;

    @Schema(description = "装货港码头")
    private String polTerminal;

    @Schema(description = "卸货港代码")
    private String podCode;

    @Schema(description = "卸货港码头")
    private String podTerminal;

    @Schema(description = "运输类型 第一个liner   四个选项：liner、truck、train、barge")
    private String transmode;

    @Schema(description = "POL ETD 预计离港时间")
    private String polEtd;

    @Schema(description = "POD ETA 预计到达时间")
    private String podEta;

    @Schema(description = "指定装货点")
    private String stuffLocEx;

    @Schema(description = "指定卸货堆场")
    private String stuffLocIm;

    @Schema(description = "批舱状态 中转提单，每一程都要批舱 数据字典key=doc_space_status Pending待批舱 Approved已批舱 Rejected拒绝批舱 Pending On Space 待定批舱 ", example = "2")
    private String spaceApproveStatus;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "操船方")
    private String vesselOperator;

}
